# -*- codeing = utf-8 -*-
# @Time : 2021/2/20 16:06
# @Atuthor: 朱朱
# @File: 013字符集和编码.py
# @Software: PyCharm
""
"""
计算机只能处理数字(其实就是数字0和数字1)，如果要处理文本，就必须先把文本转换为数字才能处理。最早的计算机在设计时采用8个比特（bit）作为一个字节（byte），所以，一个字节能表示的最大的整数就是255（二进制11111111=十进制255），0 - 255被用来表示大小写英文字母、数字和一些符号，这个编码表被称为ASCII编码。

ASCII码表使用7位二进制表示一个字符，它的区间范围时0~127，一共只能表示128个字符，仅能支持英语。随着计算机科学的发展，西欧语言、希腊语、泰语、阿拉伯语、希伯来语等语言的字符也被添加到码表中，形成了一个新的码表ISO8859-1(又被称为Latin1)码表。ISO8859-1使用8位二进制表示一个字符串，完全兼容ASCII码表。

Unicode（统一码、万国码、单一码）是计算机科学领域里的一项业界标准，包括字符集、编码方案等。Unicode 是为了解决传统的字符编码方案的局限而产生的，它为每种语言中的每个字符设定了统一并且唯一的二进制编码，以满足跨语言、跨平台进行文本转换、处理的要求。
使用chr和ord方法，可以实现字符和编码之间的相互转换

encode方法，可以将字符串按照指定的编码格式转换称为二进制；
decode方法，可以将一个二进制数据按照指定的编码格式转换成为字符串。
"""
print(ord('a'))
print(chr(100))

msg = '汪'
msg1 = msg.encode('utf8')
print(type(msg1))
print(msg1)

msg2 = msg1.decode('utf8')
print(type(msg2))
print(msg2)

msg3 = msg.encode('gbk')
print(type(msg3))
print(msg3)

msg4 = msg3.decode('gbk')
print(msg4)